package com.sakiko.dailynote.mapper;

import com.sakiko.dailynote.pojo.Article;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface ArticleMapper {

    @Insert("insert into article(title, content, cover_img, state, category_id, create_user, create_time, update_time)" +
            "values(#{title}, #{content}, #{coverImg}, #{state}, #{categoryId}, #{createUser}, #{createTime}, #{updateTime})")
    void add(Article article);

    // 用注解写这个动态配置的 sql,比较麻烦，这里采用配置映射文件的方式
    List<Article> list(@Param("userId") Integer userId,@Param("categoryId") Integer categoryId,@Param("state") String state);

    @Select("select * from article where id=#{id}")
    Article getArticle(Integer id);

    @Update("update article set title=#{title}, content=#{content}, cover_img=#{coverImg}, state=#{state}, category_id=#{categoryId},update_time=#{updateTime} where id=#{id} ")
    void update(Article article);

    @Delete("delete from article where id=#{id}")
    void delete(Integer id);
}
